package com.briup.jd2407cms.domain.VO;

/**
 * @BelongsProject: JD2407-cms
 * @BelongsPackage: com.briup.jd2407cms.domain.VO
 * @Author: 鲨鲨天下第一
 * @CreateTime: 2024-11-24  15:53
 * @Description: TODO
 * @Version: 1.0
 */

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @Description 日志展示实体
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LogVO {
    /**
     * 操作用户
     */
    @ExcelProperty("操作用户")
    @ColumnWidth(20)
    private String username;

    /**
     * 接口描述信息
     */
    @ExcelProperty("接口描述信息")
    @ColumnWidth(25)
    private String businessName;

    /**
     * 请求接口
     */
    @ExcelProperty("请求接口")
    @ColumnWidth(60)
    private String requestUrl;

    /**
     * 请求方式
     */
    @ExcelProperty("请求方式")
    @ColumnWidth(15)
    private String requestMethod;

    /**
     * ip
     */
    @ExcelProperty("ip")
    @ColumnWidth(15)
    private String ip;

    /**
     * 请求接口耗时
     */
    @ExcelProperty("请求接口耗时")
    @ColumnWidth(20)
    private Long spendTime;

    /**
     * 创建时间
     */
    @ExcelProperty("创建时间")
    @ColumnWidth(20)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @JsonProperty("create_time")
    private LocalDateTime createTime;

    /**
     * 响应参数
     */
    @ExcelIgnore
    private String resultJson;

    /**
     * 响应状态码
     */
    @ExcelProperty("响应状态码")
    @ColumnWidth(20)
    private Integer code;

    /**
     * 响应消息
     */
    @ExcelProperty("响应消息")
    @ColumnWidth(20)
    private String msg;
}
